package com.hengpeng.itfin.persist;

import java.util.List;

import com.hengpeng.common.persist.NestedSimplyDao;
import com.hengpeng.itfinbase.persist.BorrowInfo;
import com.hengpeng.itfinbase.persist.BorrowInfo.BorrowStatus;

public interface BorrowInfoDao extends NestedSimplyDao<BorrowInfo>
{
	/**
	 * <pre>
	 * 获取待开标标的
	 * </pre>
	 * @return
	 */
	public List<BorrowInfo> lockScheduleList();

	/**
	 * <pre>
	 * 更新所有数据
	 * </pre>
	 * @param infoList
	 */
	public void updateList(List<BorrowInfo> infoList);

	/**
	 * <pre>
	 * 获取募集到期的标的
	 * </pre>
	 * @param endTime
	 * @return
	 */
	public List<BorrowInfo> endRaistList();

	/**
	 * <pre>
	 * 获取标的
	 * </pre>
	 * @param id
	 * @param status
	 * @return
	 */
	public BorrowInfo getBorrowInfo(Long id, BorrowStatus status);

	/**
	 * <pre>
	 * 通过主键锁表
	 * </pre>
	 * @param id
	 * @return
	 */
	public BorrowInfo lockInfo(Long id);

	/**
	 * <pre>
	 * 更新
	 * </pre>
	 * @param borrow
	 */
	public void updateInfo(BorrowInfo borrow);

	/**
	 * <pre>
	 * 获取未录入标的信息到第三方支付的标的
	 * </pre>
	 * @return
	 */
	public List<BorrowInfo> getUnAddBidList();

	/**
	 * <pre>
	 * 获取放款或者流标中的标的信息
	 * </pre>
	 * @return
	 */
	public List<BorrowInfo> queryBorrowList(BorrowStatus status);
}
